import type { TableColumnInstance, TableInstance } from 'element-plus'

// 表格列名 ()=> 通过 tableData 中的成员名,一一获取 对应的列名
// {createTime:"创建时间"} tableData 中是存在 createTime 属性的
// interface KeyValuePropName {
// 	[propName: string]: string | number | boolean | Date;
// }

export type ICusTableColumn = TableColumnInstance['$props'] & {}

export type ICusTable = TableInstance['$props']

export class CusColumn implements ICusTableColumn {
  // 写一些默认值
  constructor(param: Partial<ICusTableColumn>) {
    // if (!param.width) param.width = '100px';
    if (!param.minWidth && !param.width) param.minWidth = '100px'
    if (param.showOverflowTooltip !== false) param.showOverflowTooltip = true
    if (!param.prop && !param.type) throw new Error('prop is required')
    // console.log(param);

    Object.assign(this, param)
  }
}

console.log(new CusColumn({ label: '序号', prop: 'drug_name' }))
